package Commands.cliente;

import java.util.List;

import javax.swing.JOptionPane;

import Bean.Cliente;
import Commands.Command;
import Dao.DaoFactory;
import Telas.TelaPadrao;
import Telas.pesquisas.cliente.TelaPesquisaCliente;
import exception.CrudException;

public class ClienteCommandPesquisaPesquisar extends Command {

	public ClienteCommandPesquisaPesquisar(TelaPadrao<Cliente> tela) {
		super(tela);
	}
	
	public ClienteCommandPesquisaPesquisar(TelaPesquisaCliente tela) {
		super(tela);
	}

	@Override
	public void execute() {
		System.out.println("Pesquisando...");
		try {
			if(getTela() != null){
				List<Cliente> l = DaoFactory.getClienteDao().carregarPorParametros(((TelaPesquisaCliente)getTela().getTelaPesquisa()).getTfNome(), ((TelaPesquisaCliente)getTela().getTelaPesquisa()).getTfCidade(), ((TelaPesquisaCliente)getTela().getTelaPesquisa()).getTipoPessoa());
				System.out.println(l);
				getTela().getTelaPesquisa().setLinhas(l);
				if (getTela().getTelaPesquisa().getTabela().getModel().getRowCount() == 0 )
					JOptionPane.showMessageDialog(null, "Nenhum dado retornado","Sistema Oficina", JOptionPane.INFORMATION_MESSAGE);
			}
			else{
				List<Cliente> l = DaoFactory.getClienteDao().carregarPorParametros(((TelaPesquisaCliente)getTelaPesquisa()).getTfNome(), ((TelaPesquisaCliente)getTelaPesquisa()).getTfCidade(), ((TelaPesquisaCliente)getTelaPesquisa()).getTipoPessoa());
				System.out.println(l);
				getTelaPesquisa().setLinhas(l);
				if (getTelaPesquisa().getTabela().getModel().getRowCount() == 0 )
					JOptionPane.showMessageDialog(null, "Nenhum dado retornado","Sistema Oficina", JOptionPane.INFORMATION_MESSAGE);
			}
		} catch (CrudException e) {
			e.printStackTrace();
		}
		
	}

}
